package cmw.com.beijingnew.view;

import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent;

/**
 * Created by Administrator on 2017/4/8.
 * 自定义不可以滑动的ViewPager
 */

public class NoScrollViewPager extends ViewPager {

    /**
     * 通常在代码中实列化的时候调用该方法
     * @param context
     */
    public NoScrollViewPager(Context context) {
        super(context);
    }

    /**
     * 在布局文件中使用该类的时候，实例化该类用此构造方法（此方法不能少，否则，会崩溃）
     * @param context
     * @param attrs
     */
    public NoScrollViewPager(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    /**
     * 重写 onTouchEvent 事件，让其返回 true,可以禁止ViewPager滑动
     * @param ev
     * @return 返回 Boolean 值 [true:禁止滑动,false:滑动]
     */
    @Override
    public boolean onTouchEvent(MotionEvent ev) {
        return true;
    }

    /**
     * 解决滑动到最后一个 Tab 时仍能滑动的BUG
     *onInterceptTouchEvent是ViewGroup中才有的方法，View中没有，它的作用是负责事件的拦截，返回true的时候表示拦截当前事件，
     * 不继续往下分发，交给自身的onTouchEvent进行处理。返回false则不拦截，继续往下传。这是ViewGroup特有的方法，
     * 因为ViewGroup中可能还有子View，而在Android中View中是不能再包含子View的（iOS可以）。
     * @param ev
     * @return
     */
    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
        return false;
    }
}
